"""
1)函数的定义

2）函数的文档说明
 保存的函数解释说明的信息，方便后续查看

3)返回值
    可以多个（元组），可以是列表，字典。。。
"""


def fun1(a, b):
    """
    函数的文档说明
    :param a:
    :param b:
    :return:
    """
    return a, b


help(fun1)
help(range)

print(fun1((3, 5)))
print(type(fun1('python', 'js')))


def user_info1(name, age, gender):
    print(f'姓名：{name},年龄：{age},性别：{gender}')


user_info1('tom', 18, 'male')
user_info1(age=18, name='lily', gender='female')


def user_info4(**kwargs):
    return kwargs


def sum1(*args):
    result = 0
    for i in args:
        result += i
    return result


r1 = sum1(2, 4)
r2 = sum1(3, 5, 7, 8)
print(r1)
print(r2)

# 1）一年365天，每天进步1%，一年累计进步多少呢？
# 如果每天退步1%，一年累计退步多少？
# 2）一年365天，一个周5天工作，每天进步1%
# 一年365天，一个周2天休息，每天退步1%
# 这种工作日的力量如何呢？
# 3）工作日模式要努力到什么水平，才能与每天努力1%一样？
# A君：一年365天，每天进步1%，不停歇
# B君：一年365天，每周工作5天休息2天，休息日下降1%，要多努力呢？

import math


def up1(factor=1.01, days=365):
    """
    计算一年累计进步或者退步
    :param factor: 每天进步，默认参数1.01
    :param days: 天数，默认参数365天
    :return: 返回进步或者退步多少量
    """
    return math.pow(factor, days)


day_up = up1()
day_down = up1(0.99)
print(f'一年累计进步：{round(day_up, 2)}')
print(f'一年累计退步：{round(day_down, 2)}')


def up2(factor=0.01, days=365):
    """
    计算5天进步2天退步的结果
    :param factor: 每天进步或退步的因子，默认是0.01
    :param days: 天数，默认是一年
    :return: 返回一年5天进步2天退步的结果
    """
    # 原始值1
    return =1
    # 循环判断5天进步 2天退步情况
    for i in range(1, 366):
        if i % 7 in [6, 0]:
            result = result * (1 - factor)
        else:
            result *= (1 + ractor)
    return result


day_up2 = up2()
print(f'一年5天工作2天休息累加进步：{round(day_up2, 2)}')
